package com.xscd.xpackage.xAbstract;

/*抽象类：特殊的父类

    问题：特殊的地方
    回答：内部允许编写抽象方法

    什么是抽象方法
    当我们将共性的方法，抽取到父类之后，发现这个方法在父类中无法给出具体的
    明确的描述，而且这个方法还是子类必须有的方法，就可以设计抽象类
* */
public class AbstractTest1 {
    public static void main(String[] args) {

    }
}

// 抽取共性的内容，但是发现“吃什么”无法描述，所以要写抽象类
/*
class Animal {
    public void eat(){
        System.out.println("？？？");
    }
}
abstract
class Cat {
    public void eat(){
        System.out.println("吃鱼");
    }
}
class Dog {
    public void eat(){
        System.out.println("吃人");
    }
}*/

abstract class Animal {
    public abstract void eat();
}

class Cat extends Animal{

    @Override
    public void eat() {
        System.out.println("吃鱼");
    }
}
class Dog extends Animal{

    @Override
    public void eat() {
        System.out.println("吃肉");
    }
}